首页 > 试题广场 >

最大和的子数组

[编程题]最大和的子数组
  • 热度指数:14934 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
请计算给出的数组(至少含有一个数字)中具有最大和的子数组(子数组要求在原数组中连续)
例如:给出的数组为[−2,0,−3,4,−2,2,2,−5,4],
子数组[−2,0,−3,4,−2,2,2,−5,4],具有最大的和:6.
示例1

输入

[1]

输出

1
示例2

输入

[−2,0,−3,4,−2,2,2,−5,4]

输出

6
def maxSubArray(self , A ):
        # write code here
        max_sum = []
        ss = 0
        for i in range(len(A)):
                ss += A[i]
                max_sum.append(ss)
                if ss < 0:
                    ss =0
        if max_ss:
            return max(max_ss)
        else:
            return max(A)

发表于 2021-08-03 17:17:43 回复(0)